home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / ANSI13L.ZIP / ANSI.DOC < prev    next >
Text File  |  1993-11-17  |  11KB  |  207 lines

  1. ANSI.COM
  2. Command
  3.  
  4. Michael J. Mefford
  5. 1989 No. 2 (Utilities)
  6.  
  7.  
  8. Purpose:        A memory-resident utility that enables selectable use of the
  9. extended screen and keyboard control sequences that normally require loading the
  10. ANSI.SYS device driver.  Unlike ANSI.SYS, ANSI.COM supports all video modes,
  11. permits sizing and clearing the key-assignment buffer, and provides high-speed
  12. screen updating.
  13.  
  14. Format: ANSI [FAST | SLOW][ON | OFF][KON | KOFF][PON | POFF][XON | XOFF]
  15.              [/B nnn][/P nn][/C][/U][/Q][/T]
  16.  
  17. Remarks:        ANSI.COM may be installed either at the DOS prompt or through an
  18. AUTOEXEC.BAT file.  It will not load itself if ANSI.SYS has already been loaded
  19. as part of a CONFIG.SYS file.  ANSI.COM will not load multiple copies of itself,
  20. so its command name may be invoked repeatedly in the same session to change
  21. user-selectable parameters.
  22.  
  23.         Upon loading, ANSI defaults to the FAST and ON status parameters.  For
  24. use with IBM CGA video cards (where direct screen writes produce "snow") or with
  25. some screen capture software, the SLOW (screen writing via the BIOS, as with
  26. ANSI.SYS) status option may be selected.  Entering ANSI OFF disables recognition
  27. of the ANSI control codes (but reassigned keys are still functional).
  28.  
  29.         Also upon loading ANSI defaults to KON and PON status parameters.
  30. Entering POFF disables the ANSI reassignment function so no new reassignments
  31. can be entered until reactivated by PON. Current assignments are still active.
  32. This prevents unauthorized changes to you keyboard being made by silly people
  33. who embed ANSI sequences into text documents to do harm to your system.
  34. Entering KOFF disables the ANSI reassignments but still allows new assignments
  35. to be made to the buffer or old ones removed. This allows simple ON / OFF
  36. control of assignments without clearing the buffer and reloading each time
  37. when a particular program is affected by the assignments.  All keyboard
  38. reassignments in the buffer become active again upon the issuing PON. The /Q
  39. switch can be used to suppress output when executed. /P nn can be used to
  40. protect a number of lines at the top of the screen from being scrolled when
  41. the cursor reaches the bottom of the screen. Scrolling will occur starting
  42. at the line specified (Zero is the top line and the Default setting.)
  43. /P* will use the line above the current line.                                |
  44.  
  45.         The ANSI.COM key assignment buffer defaults to a size of 200 bytes.  The
  46. buffer may be increased to as much as 60K or decreased to 0 bytes by entering
  47. ANSI with the /B switch and the desired number of bytes as nnn.  Resizing the
  48. buffer after initial installation requires deinstallation, which may be
  49. accomplished using the /U switch.  Current key assignments are lost if the
  50. buffer is resized.  The buffer can be cleared without resizing by invoking ANSI
  51. with the /C switch.
  52.  
  53.         The full command set of IBM-ANSI control sequences is printed in the
  54. original article and in the DOS Technical Reference manual.  This information
  55. can also be downloaded from PC Magnet.
  56.  
  57.         Available for downloading from PC MagNet (see the ANSI by Modem
  58. sidebar), ANSI.COM is already compiled and ready to run.  ANSI.BAS will
  59. automatically create ANSI.COM when run once in BASIC.  To create ANSI.COM from
  60. the ANSI.ASM source code requires use of a macro assembler (IBM or Microsoft,
  61. Version 2 or later) and the following commands:
  62.  
  63.        New /T option added to test if installed. Attempts to do an uninstall
  64. without actually uninstalling. If Not Installed an Errorlevel of 1 occurs.
  65. If already installed the status switches are returned in the ErrorLevel as    |
  66. follows:        OFF    1                                                      |
  67.                 ON     2                                                      |
  68.                 SLOW   4                                                      |
  69.                 FAST   8                                                      |
  70.                 KOFF   16                                                     |
  71.                 KON    32                                                     |
  72.                 POFF   64                                                     |
  73.                 PON    128                                                    |
  74. If not already installed, the program will not be installed when testing.     |
  75.  
  76.        New /S option will load stat. data from ANSICOM.SYS file for PCBoard
  77. @Variable@ substitution. This file can be created by another program (I
  78. will write one soon in QuickBasic) which reads PCBoard.DAT, CNAMES, User.Sys
  79. and User.Inf and formats the data into the required format of ANSICOM.SYS.
  80. ANSICOM.ASM shows the format of the storage. The length must be 495 Bytes
  81. (extra will be ignored, less will issue error message.) Issuing the /S option
  82. without ANSICOM.SYS being present in the current directory will result in an
  83. error message also.
  84.  
  85. XON Mode (the Default) controls the translation of @Xnn PCBoard color codes
  86. into actual screen color changes. XOFF causes the codes to be ignored (they
  87. will be translated and removed but will not actually set the color.) This
  88. allows viewing a file containing these codes in "Black-and-White" mode to
  89. how they will look to Non-Color mode Users on PCBoard.
  90.  
  91.         If the position in a set cursor position command is beyond the bounds
  92. of the screen then the highest row or column, as appropriate, is used.
  93.  
  94. PCBoard 15.1's @ENV=@ could not be fully duplicated as ANSI.COM releases
  95. it's environment when loading and changes to the DOS environment after
  96. ANSI.COM was loaded would have been ignored anyways. If I can find a simple
  97. way to emulate this without bloating the code too much, I'll add it. For
  98. now the fixed text 'Env_Data' will be displayed regardless of what the
  99. environment variable is or whether the variable exists or not (since as
  100. I said the environment is not checked.)
  101.  
  102.  Update 3/2/89 - Fix for DOS function 0Bh, Check Standard Input Status
  103.                      and STDIN in ANSI_INT_21 handler.
  104.                  Leading zero inserted for Device Status Report for
  105.                      single digit cursor positions.
  106.                  INFORMATION typo 40 for 40H.
  107.                  WRITE_FAST modified to handle CR and LF instead of
  108.                      WRITE_CHAR.
  109.  Update 3/7/89 - Fix for CLS in graphics mode.                  Version 1.2
  110.  
  111.  Update 8/8/89 - STI added to INT 21 and 29 handler.            Version 1.3
  112.  
  113.  Update 01/01/90 - [KON | KOFF] and [PON | POFF] added          Version 1.31
  114.  
  115.  Update 03/23/90 - /Q option added for no output when executed          1.32
  116.  
  117.  Update 05/16/90 - removed Syntax from output unless needed             1.33
  118.                    added /T test for load.
  119.  
  120.  Update 10/28/90 - added /P nn command to 'Protect' nn lines            1.34
  121.                    at the top of the screen from scrolling
  122.                    up when the bottom of the screen is reached.
  123.  
  124.  Update 12/01/90 - Added PCBoard @X## color code support                1.35
  125.                    also added @Variable@ Support
  126.                    added /S to load stats data from file
  127.  
  128.  Update 12/12/90 - My mistake, I didn't realize @X00 saved              1.36
  129.                    the color and @XFF restored it. Works now.
  130.                    Also made prompts return to start of line
  131.                    when cleared (like PCBoard does) & QON
  132.                    now changes @MORE@ & @PAUSE@ into @WAIT@
  133.                    Gary Meeker (Versions 1.31 to 1.36)
  134.  
  135.  Update  4/20/91 - Change set cursor routine. If new position           1.37
  136.                    is off the screen use the last row or column.
  137.                    Added switch to not include PCB code.
  138.                    Corrected syntax display.
  139.                    Modified CLS to honor protected (/P) lines
  140.                    Modified /T to returned status switches.
  141.                    Modified /P to accept * to mean current row-1.
  142.  
  143.  Update  9/19/91 - Allow ESC[p to clear all KB reassigns and            1.38
  144.                    ESC[np to clear single key reassign.
  145.                    ie: ESC[65p will reset ascii 65 to it's default [A]
  146.  
  147.  Update 01/01/92 - Added XON/XOFF to control @X## color codes           1.39
  148.                    added support for finding relocated copies.
  149.                    This should allow LOADHI under DOS 5 or QRAM/QEMM
  150.                    (all changes marked with ;^ - Gary Meeker)
  151.                    (Was added to my 1.37 version 01/09/91 but now
  152.                    incorporated into this version as 1.39 to include
  153.                    changes by Wayne Mingee)
  154.  
  155.  Update 05/15/93 - Added additional support for PCBoard 15.0            1.3J
  156.                    @Variable:nnx@ and new variables (@DELAY:nn@, @POS:nn@,
  157.                    @RFILES@, @RBYTES@, @SFILES@, @SBYTES@, @BICPS@, @RCPS@,
  158.                    @SCPS@, @CARRIER@) and some 14.5a variables not previously
  159.                    supported (@FREESPACE@, @LMR@, @OFFHOURS@, @WHO@)
  160.                    Gary Meeker (Versions 1.39 to 1.3j)
  161.  
  162.  Update 06/06/93 - Fixed problem with (:nnR) Right & (:nnC) Center      1.3K
  163.                    justification when variable was full length and
  164.                    var needed no padding. Fixed delay which should
  165.                    have been in tenths of seconds not seconds.
  166.                    (fixes supplied by Chester Loving)
  167.  
  168.  Update 11/17/93 - Added additional support for PCBoard 15.1            1.3L
  169.                    @ALIAS@, @DIRNAME@, @LOGDATE@, @LOGTIME@, @NUMCONF@,
  170.                    @NOCHAR@, @YESCHAR@, @DIRNUM@, @FBYTES@, @FFILES@,
  171.                    @FNUM@, @MAXFILES@, @MAXBYTES@, @PWXDAYS@, @PWXDATE@,
  172.                    @RATIOBYTES@, @RATIOFILES@, @BYTECREDIT@, @FILECREDIT@,
  173.                    and @ENV=@ (Note: The environment is not actually checked
  174.                    and the fixed data 'Env_Data' will be displayed).
  175.                    Fixed problem using :nnx with Ratios.
  176.                    Gary Meeker (Versions 1.39 to 1.3l)
  177.  
  178. The files contained in this Archive should be:
  179. -------------------------------------------------------------------------------
  180.     Name     Length    Date    CRC-32
  181. ANSI.DOC      11438  11-17-93 ???????? Documentation for ANSI.COM (This file)
  182. ANSI.ASM     130513  11-17-93 8fa4bc52 Assembly source code for ANSI.COM
  183. ANSI.COM       3709  11-17-93 b43a985f Executable version for Non-Sysop use
  184. ANSIPCB.COM    6756  11-17-93 b07d1f85 Executable version for Sysop use
  185.                                        (includes @codes@ translation)
  186. ANSICOM.ASM    6191  11-17-93 f16dc90d Assembly source code for ANSICOM.SYS
  187. ANSICOM.SYS     959  11-17-93 8ea68f30 Sample data file for loading into
  188.                                         ANSI.COM's buffer area for translation
  189.                                         of PCBoard @codes@
  190. FILE_ID.DIZ     326  11-17-93 ca83ef06 Description file
  191. -------------------------------------------------------------------------------
  192.  
  193. To assemble, first change the line in ANSI.ASM:
  194.  
  195. PCB            equ     1                     ;$ 1 = if PCB code wanted
  196.  
  197. to 1 or 0 depending on whether you want PCBoard support code or not.
  198. Then use the following:
  199.  
  200. MASM ANSI;
  201. LINK ANSI;
  202. EXE2BIN ANSI ANSI.COM;
  203.  
  204. MASM ANSICOM;
  205. LINK ANSICOM;
  206. EXE2BIN ANSICOM ANSICOM.SYS;
  207.